// 配置compression-webpack-plugin压缩
let webpack = require('webpack')
// let CompressionWebpackPlugin = require('compression-webpack-plugin')
// let productionGzipExtensions = ['js', 'css']
let Timestamp = new Date().getTime();

let newProxy = ""
const $glob = require('./globalConfig')
if($glob.ISLOCALORAPI){
  newProxy = {
    // 跨域配置
    // 这里/api 自己任意填写
    //但是需要和下面pathRewrite和 axios配置跨域需要一致，发布到线上的时候,nginx服务器需要一致
    '/api': {
      target: $glob.API_TARGET, //接口API域名
      changeOrigin: true, //是否跨域
      pathRewrite: {
        //这里'/api'和上面的 /api 一致，
        //这里可以理解成用 '/api' 代替target里面的地址,比如我要调用'http://baidu.com/user/add'，直接写'/api/user/add'即可
        '^/api': ''
      }
    }
  }
}
module.exports = {
  publicPath: "/",
  outputDir: "dist",
  assetsDir: "assets",
  filenameHashing: false,
  // lintOnSave: process.env.NODE_ENV !== 'production',
  lintOnSave: false,
  productionSourceMap: false,
  devServer: {
    host: "127.0.0.1",//这里是本地打开的方式  localhost：自己打开，  0.0.0.0：自己打开，同时在局域网内，别人也能通过IP访问你的项目
    port: 1122, // 端口号
    https: false,
    open: true, //配置自动启动浏览器
    proxy: newProxy,
  },
  configureWebpack: {
    //文件名添加时间戳，保证更新后无缓存
    output: {
      filename: `[name].${Timestamp}.js`,
      chunkFilename: `[name].${Timestamp}.js`
    },
    plugins: [
      // 配置compression-webpack-plugin压缩
      // new CompressionWebpackPlugin({
      //   algorithm: 'gzip',
      //   test: new RegExp('\\.(' + productionGzipExtensions.join('|') + ')$'),
      //   threshold: 10240,
      //   minRatio: 0.8
      // }),
      // new webpack.ProvidePlugin({
      //   $: "jquery",
      //   jQuery: "jquery",
      //   "windows.jQuery": "jquery"
      // })

    ]
  }
};
